#ifndef _BULLET_H_
#define _BULLET_H_

#include "Entity.h"

namespace model
{
class Bullet : public Entity
{
public:
	Bullet(void);
	Bullet(int id, std::string image, const Point& position, int duration, double startTime);
	virtual ~Bullet(void);
	
	typedef enum BulletType
	{
		BULLET,
		MISSILE,
		LASER,
		BOMB,
		BOMBEXPLOTED
	};

	BulletType getType(void);
	void setType(BulletType);
	static std::string getTypeName(BulletType);
	string getImagePath(void);
	void setImagePath(string path);
	void setDuration(int);
	int  getDuration(void);
	void setStartTime(double);
	double getStartTime(void);
	void setTime(int);
	int getTime(void);

	bool   getExploted();
	void   SetExploted(bool);

	void setShipOwner(int shipId);
	int getShipOnwer(void);
	int getPowerDamage(void);
	void updatePositions(double);
private:
	string imagePath;
	double startTime;
	int duration, owner;
	BulletType type;
	bool exploted;
	int time;
};
};

#endif
